//
//  MCCountDownView.h
//  ZFGT
//
//  Created by apple on 2018/2/26.
//  Copyright © 2018年 allyoubank.com. All rights reserved.
//
/**
 *  倒计时: 验证码
 */
#import <UIKit/UIKit.h>

@class MCCountDownView;
@protocol MCCountDownViewDelegate <NSObject>
@optional

/**
 *  点击验证码按钮即调用
 *
 *  @param codeView 所点击的view
 */
- (void)beginClickWithCodeView:(MCCountDownView *)codeView;

/**
 *  实时监听倒计时
 *
 *  @param count 倒计时
 */
- (void)beginClickWithTimeCount:(NSInteger)count;

@end    //MCCountDownViewDelegate

// 下面两个block 对应签名的两个协议
/**
 *  MCCountDownViewBlock
 *
 *  @param MCCountDownView
 */
typedef void(^MCCountDownViewBlock)(MCCountDownView *v);


/**
 *  MCVerificationTimeCountBlock
 *
 *  @param count 倒计时
 */
typedef void(^MCVerificationTimeCountBlock)(NSInteger count);

@interface MCCountDownView : UIView

/** 设置文本,默认为 “获取验证码”    */
@property(nonatomic,copy) NSString *defaultTitle;

/** 设置文本字体  */
@property(nonatomic,strong) UIFont *font;

/** 设置背景颜色  */
@property(nonatomic,strong) UIColor *bgColor;

/** 原始文本颜色  */
@property(nonatomic,strong) UIColor *originTitleColor;

/** 验证码动态文本颜色  */
@property(nonatomic,strong) UIColor *dynamicTitleColor;

/** 设置最大倒计时值。默认60s  */
@property(nonatomic,assign) int maxTimeNum;

@property(nonatomic,weak)id<MCCountDownViewDelegate> delegate;

/**
 点击验证码按钮 并回调block
 
 @param codeViewBlock 点击按钮回调block
 */
- (void)beginClickCodeView:(MCCountDownViewBlock)codeViewBlock;

/**
 *  点击验证码按钮 并回调block
 *
 *  @param codeViewBlock 回调MCCountDownView
 *  @param coutBlock 回调倒计时
 */
- (void)beginClickCodeView:(MCCountDownViewBlock)codeViewBlock countBlock:(MCVerificationTimeCountBlock)coutBlock;

/**
 *  开始倒计时，需手动开启
 */
-(void)openCountdown;

/**
 *  取消倒计时
 */
- (void)cancleCountdown;

@end
